$(function(){
    var dept_datagrid =  $("#dept_datagrid");
    var dept_dialog = $("#dept_dialog");
    var dept_form = $('#dept_form');
    //dept_datagrid 数据表初始化

    dept_datagrid.datagrid({
        url:'/department/list',
        striped:"true",
        pagination:"true",
        singleSelect:"true",
        fit:"true",
        fitColumns:"true",
        toolbar: '#dept_toolbar',
        //在用户点击一行的时候触发事件
        onClickRow:function(index, row){
            if(row.state==1){
                $("#change_btn").linkbutton({
                    text:"停用"
                })
            }else if(row.state==0){
                $("#change_btn").linkbutton({
                    text:"恢复"
                })

            }
        },
        columns:[[
            {field:'x',checkbox:true},
            {field:'id',title:'编号',width:100},
            {field:'sn',title:'部门编码',width:100},
            {field:'name',title:'部门名称',width:100},
            {field:'manager',title:'部门经理',width:100,
                formatter: function(value,row,index){
                    if (value){
                        return value.realName;
                    } else {
                        return "";
                    }
                }
            },
            {field:'parent',title:'上级部门',width:100,
                formatter: function(value,row,index){
                    if (value){
                        return value.name;
                    } else {
                        return "";
                    }
                }
            },
            {field:'state',title:'状态',width:100,
                formatter: function(value,row,index){
                    if (value == 0){
                        return "<font color='red'>停用</font>";
                    } else if(value == 1){
                        return "<font color='green'>正常</font>";
                    }
                }}
        ]]
    })
    //dept_datagrid 数据表初始化-------end

    //保存/编辑对话框 初始化
    dept_dialog.dialog({
        width: 300,
        height: 350,
        closed: false,
        closed:true,
        buttons:"#dialog_buttons"
    });
    //保存/编辑对话框 初始化 ----end

    var cmdObj = {
        reload:function(){
            dept_datagrid.datagrid("reload")
        },
        add:function(){
            //清除form 表单 缓存数据
            dept_form.form('clear');
            dept_dialog.dialog("setTitle","部门保存");
            dept_dialog.dialog("open");
        },
        save:function(){
            var url ="/department/save";
            var id = $("[name='id']").val();
            if(id){
                url ="/department/update";
            }
            dept_form.form('submit', {
                url:url,
                success:function(data){
                    data = $.parseJSON(data);
                    if(data.success){
                        dept_dialog.dialog("close");
                        dept_datagrid.datagrid("reload");
                    }else{
                        $.messager.alert('温馨提示',data.msg);
                    }
                }
            });

        },
        edit:function(){

            //判断是否选中
            var row = dept_datagrid.datagrid("getSelected")
            if(row == null){
                $.messager.alert('温馨提示',"请选中需要编辑的部门");
                return ;
            }
            //清空 旧数据
            dept_form.form('clear');

            //同名匹配  部门回显问题
            if (row.parent){
                row["parent.id"]=row.parent.id;
            }
            if (row.manager){
                row["manager.id"]=row.manager.id;
            }

            //把数据加载到 对话框的表单中
            dept_form.form('load',row);

            dept_dialog.dialog("setTitle","部门编辑");
            dept_dialog.dialog("open");
        },
        changeState:function(){
            //判断是否选中
            var row = dept_datagrid.datagrid("getSelected")
            if(row == null){
                $.messager.alert('温馨提示',"请选中需要编辑的部门");
                return ;
            }

            $.get("/department/changeState?id="+row.id,function(data){
                if (data.success){
                    dept_datagrid.datagrid("reload")
                }else{
                    $.messager.alert('温馨提示',data.msg);
                }

            })
        },
        cancel:function(){
            dept_dialog.dialog("close")
        }

    }

    //代码优化
    $("a[data-cmd]").click(function(){
        var cmd = $(this).data("cmd");
        cmdObj[cmd]();
    });

})